\frame
{
  \frametitle{Inspecting class/method/field structure}
  Some detectors do not require code analysis. Examples:
  \B
  \item Find classes that override {\tt equals()} but not {\tt hashCode()}
  \item Find method naming problems (e.g., {\tt hashcode()} instead of {\tt hashCode()})
  \E
  Typical implementation strategy: detector class extends {\tt PreorderVisitor}
  \B
  \item Override {\tt visit(JavaClass)}, {\tt visit(Method)}, {\tt visit(Field)}, etc.
  \item Report problems
  \E
}
